তারিখ নিয়ে কাজ করার সময় সবচেয়ে গুরত্বপূর্ণ কাজ হলো আপনি তারিখের যে ফরম্যাট নির্বাচন করেছেন তা যেন আপনার ডেটাবেজ কলামের
dateফরম্যাটের সাথে মিলে। এটা নাহলে আপনি ডেটাবেজে সঠিক ভাবেdateইনপুট করতে পারবেন না।
আপনার date কলামে শুধুমাত্র তারিখ থাকলে কুয়েরি করতে অনেক সহজ হবে। কিন্তু যদি আপনার date কলামে তারিখের পাশাপাশি সময়ও থাকে তাহলে কুয়েরি করা একটু কঠিন হয়ে উঠে।
নিম্নে MySQL এবং SQL Server এর কিছু গুরুত্বপূর্ণ বিল্ট-ইন date ফাংশন এবং তাদের ব্যবহার বর্ণনা করা হলোঃ
MySQL Date ফাংশন
নিম্নের তালিকায় MySQL এর কয়েকটি গুরুত্বপূর্ণ বিল্ট-ইন ফাংশন দেওয়া হলঃ
| ফাংশন | বর্ণনা |
|---|---|
NOW() | বর্তমান date এবং time রিটার্ন করবে। |
CURDATE() | বর্তমান date রিটার্ন করবে। |
CURTIME() | বর্তমান time রিটার্ন করবে। |
DATE() | date অথবা date/time এক্সপ্রেশন থেকে শুধুমাত্র date অংশটি নিবে। |
EXTRACT() | date অথবা time যেকোন একটি অংশ রিটার্ন করবে। |
DATE_ADD() | date এ একটি নির্দিষ্ট সময় ব্যবধান যোগ করবে। |
DATE_SUB() | date থেকে একটি নির্দিষ্ট সময় ব্যবধান বিয়োগ করবে। |
DATEDIFF() | দুইটি date এর পার্থক্য রিটার্ন করবে। |
DATE_FORMAT() | date অথবা time কে দেখানোর জন্য বিভিন্ন ফরম্যাট নির্ধারন করবে। |
SQL Server Date ফাংশন
নিম্নের লিস্টে SQL Server এর কয়েকটি গুরুত্বপূর্ণ বিল্ট-ইন ফাংশন দেওয়া হলঃ
| ফাংশন | বর্ণনা |
|---|---|
GETDATE() | বর্তমান date এবং time রিটার্ন করবে। |
DATEPART() | date অথবা time যেকোন একটি অংশ রিটার্ন করবে। |
DATEADD() | date থেকে একটি নির্দিষ্ট সময় ব্যবধান যোগ/বিয়োগ করবে। |
DATEDIFF() | দুইটি date এর পার্থক্য রিটার্ন করবে। |
CONVERT() | date অথবা time কে দেখানোর জন্য বিভিন্ন ফরম্যাট নির্ধারন করবে। |
SQL Date টাইপ
MySQL ডেটাবেজে date অথবা date/time এর সিনট্যাক্সঃ
DATE- ফরম্যাটঃYYYY-MM-DDDATETIME- ফরম্যাটঃYYYY-MM-DD HH:MI:SSDATETIME- ফরম্যাটঃYYYY-MM-DD HH:MI:SSYEAR- ফরম্যাটঃYYYYঅথবাYY
SQL Server ডেটাবেজে date অথবা date/time এর সিনট্যাক্সঃ
DATE- ফরম্যাটঃYYYY-MM-DDDATETIME- ফরম্যাটঃYYYY-MM-DDHH:MI:SSSMALLDATETIME- ফরম্যাটঃYYYY-MM-DDHH:MI:SSDATETIME- ফরম্যাটঃ একটি ইউনিক নাম্বার
বিঃদ্রঃ ডাটবেজে নতুন টেবিল তৈরি করার সময় আপনি কলাম এর জন্য
dateএর টাইপ নির্ধারণ করে দিতে পারবেন!
SQL Date ফাংশন এর ব্যবহার
তারিখের সাথে অন্য কোন উপাদান জড়িত না থাকলে আপনি খুব সহজেই দুইটি তারিখের মধ্যে তুলনা করতে পারেন।
নিম্নলিখিত "Student_attendance" টেবিলটি দেখুনঃ
| আইডি নং | রোল নাম্বার | উপস্থিতি | ভর্তির তারিখ |
|---|---|---|---|
| ১ | ১০১ | ৮৯ | ০১-১১-২০১৫ |
| ২ | ১০২ | ৯১ | ০১-১১-২০১৫ |
| ৩ | ১০৩ | ৮০ | ০১-১১-২০১৫ |
| ৪ | ১০৪ | ৭৫ | ০২-১১-২০১৫ |
| ৫ | ১০৫ | ৭৭ | ০২-১১-২০১৫ |
এখন আমরা "ভর্তির তারিখ(Admission_date)" কলাম থেকে "০১-১১-২০১৫" তারিখের রেকর্ড-সমূহ সিলেক্ট করবো।
উদাহরণ
SELECT * FROM Student_attendance
WHERE Admission_date='০১-১১-২০১৫';
ফলাফলঃ
| আইডি নং | রোল নাম্বার | উপস্থিতি | ভর্তির তারিখ |
|---|---|---|---|
| ১ | ১০১ | ৮৯ | ০১-১১-২০১৫ |
| ২ | ১০২ | ৯১ | ০১-১১-২০১৫ |
| ৩ | ১০৩ | ৮০ | ০১-১১-২০১৫ |
এখন আমরা "Student_attendance" টেবিলের "ভর্তির তারিখ(Admission_date)" কলামে তারিখের সাথে সময়ও যুক্ত করবো।
ধরুন, এখন আমাদের "Student_attendance" টেবিলটি নিম্নের মত দেখাবেঃ
| আইডি নং | রোল নাম্বার | উপস্থিতি | ভর্তির তারিখ |
|---|---|---|---|
| ১ | ১০১ | ৮৯ | ০১-১১-২০১৫ ১১:৩০:২০ |
| ২ | ১০২ | ৯১ | ০১-১১-২০১৫ ১১:৩২:১০ |
| ৩ | ১০৩ | ৮০ | ০১-১১-২০১৫ ১১:৪০:৪৫ |
এখন আমরা যদি উপরের মত একই
SELECTস্টেটমেন্ট ব্যবহার করি তাহলে আমরা কোন ফলাফল পাবো না! কারন এই কুয়েরিটি শুধুমাত্রdateকে সিলেক্ট করবে।বিঃদ্রঃ আপনি যদি আপনার কুয়েরিকে সহজ রাখতে চান তাহলে
dateকলামেtimeকে ভিন্ন কলামে যোগ করুন।
Read more